package com.jielin.handling.mapper.room;

import java.util.List;

import com.jielin.handling.entity.police.PoliceMan;
import org.apache.ibatis.annotations.Param;

import com.jielin.handling.entity.room.RoomInfoVo;
import com.jielin.handling.entity.room.RoomInformation;

/**
 * @author WR
 */
public interface RoomInformationMapper {

    /**
     * 查询所有房间的状态信息
     */
    List<RoomInformation> selectAllRoomStatus();

    List<RoomInformation> findAllRoomStatus(String organizationId);// 查询所有房间的状态信息

    int reserveRoom(@Param("roomid") String roomid, @Param("policeid") String policeid);// 根据房间id改变房间状态为已预约

    int cancelreserveRoom(String roomid);// 更新预约房间状态为空闲

    int useStartRoom(String roomid);// 更新预约房间状态为使用中

    int useEndRoom(String roomid);// 更新使用中房间状态为空闲

    List<RoomInfoVo> findRoomCameraInfoByOrganizationId(String organizationId);// 查询本单位房间区域信息与摄像头信息

    RoomInfoVo findRoomCameraInfoByRoomId(String roomId);// 查询房间的摄像头信息

    RoomInformation findRoomInfoById(String id);// 根据房间id查询房间信息

    String findUseRoomPoliceIdById(String id);// 根据房间id查询房间使用人id

    List<String> findUseRoomPoliceIdByOrgId(String orgId);// 根据单位id查询所有使用房间的警员id

    /**
     * 根据ip获取房间信息
     *
     * @param ip
     * @return
     */
    RoomInformation findCameraInfoByRoomComputerIp(String ip);

    /**
     * 根据房间id查询警员信息
     *
     * @param id
     * @return
     */
    PoliceMan findPersonInfoById(String id);
}
